Step-Indexed Biorthogonality: a Tutorial Example
نویسنده
چکیده
The purpose of this note is to illustrate the use of step-indexing [2] combined with biorthogonality [10, 9] to construct syntactical logical relations. It walks through the details of a syntactically simple, yet non-trivial example: a proof of the “CIU Theorem” for contextual equivalence in the untyped call-by-value λ-calculus with recursively defined functions. I took as inspiration two works: Ahmed’s step-indexed syntactic logical relations for recursive types [1] and Benton & Hur’s work on compiler correctness that combines biorthogonality with step-indexing [4]. The logical relation constructed here will come as no surprise to those familiar with these works. However, compared with Ahmed, we do not regard biorthogonality as “complex machinery” to be avoided—in my view it simplifies matters; and compared with Benton & Hur, I work entirely with operational semantics and with a high-level language. Both things are true of the recent work by Dreyer et al [7]; indeed I believe everything in this note can be deduced from their logical relation for call-by-value System F extended with recursive types, references and continuations. Nevertheless, it seems useful, for tutorial purposes, to extract a specific example of what the combination of step-indexing and biorthogonality can achieve, in as simple yet non-trivial a setting as possible. Of course there are other ways to prove the CIU theorem for untyped call-by-value λcalculus; for example, by using Howe’s method (see [12]). However, two points about the logical relation constructed here are of interest. First, and the main point of the technique as far as I am concerned, is the way step-indexing is used to break the vicious circle in the mixed-variance specification of the logical relation—see definition (10). Second is the fact that, unlike for some other forms of syntactical logical relation (see [11] for example), no compactness property (also known as an “unwinding theorem”) is needed to deal with recursively defined functions—see the proof of Lemma 4.3(ii).
منابع مشابه
Step-indexed models of call-by-name: a tutorial example
In this tutorial paper we show how to construct a step-indexed logical relation for a call-by-name programming language with recursive types and show that it is complete with respect to contextual equivalence. We then show how the same constructions can be used to define a step-indexed model, in the standard categorical sense, of the language. We hope that this will make step-indexed techniques...
متن کاملDevelopment and Usability Evaluation of an Online Tutorial for “How to Write a Proposal” for Medical Sciences Students
Background and Objective: Considering the importance of learning how to write a proposal for students, this study was performed to develop an online tutorial for “How to write a Proposal” for students and to evaluate its usability. Methods: This study is a developmental research and tool design. “Gamified Online Tutorial based on Self-Determination Theory (GOT-STD) Framework" became the basis f...
متن کاملIndexed Realizability for Bounded-Time Programming with References and Type Fixpoints
The field of implicit complexity has recently produced several bounded-complexity programming languages. This kind of language allows to implement exactly the functions belonging to a certain complexity class. We here present a realizability semantics for a higher-order functional language based on a fragment of linear logic called LAL which characterizes the complexity class PTIME. This langua...
متن کاملA tutorial on Quasi-experimental designs
A main step in answering a scientific hypothesis in an epidemiological study is deciding which type of study is suitable to be undertaken, considering methodology, practical considerations and budget and time limitations
متن کاملElliptic Integrable Systems Padé Interpolation Table and Biorthogonal Rational Functions
We study recurrence relations and biorthogonality properties for polynomials and rational functions in the problem of the Padé interpolation in the usual scheme and in the scheme with prescribed poles and zeros. The main result is deriving explicit orthogonality and biorthogonality relations for polynomials and rational functions in both schemes. We show that the simplest linear restrictions in...
متن کامل